using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace mesoBoard.Data.Repositories
{
    public interface IPollRepository
    {
        Poll GetPoll(int PollID);
        Poll GetPollByThread(int ThreadID);
        IEnumerable<PollOption> GetPollOptions(int PollID);
        void DeletePoll(int PollID);
        void DeletePoll(Poll poll);
        string GetPollOptionsAsText(int PollID);
        bool HasVotes(int PollID);
        void CreatePoll(Poll ThePoll, IEnumerable<PollOption> Options, int ThreadID);
        void CreatePoll(Poll ThePoll);
        void CreatePollOption(PollOption ThePollOption);
        void CastVote(int PollOptionID, int UserID);
        bool HasVoted(int PollID, int UserID);
        IEnumerable<PollVote> GetPollVotes(int pollID);

    }
}